/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.ucase.investigateevidence.transfer.service;

import com.icinfo.cloud.provider.punish.ucase.investigateevidence.transfer.dto.CaseTransferIdTypeDto;
import com.icinfo.cloud.provider.punish.ucase.investigateevidence.transfer.dto.CaseTransferRecordDto;
import com.icinfo.cloud.provider.punish.ucase.investigateevidence.transfer.vo.CaseInitiateInfoVo;
import com.icinfo.framework.common.web.Result;
import com.icinfo.framework.core.service.BaseService;

/**
 * 描述: 案件移交记录表 case_transfer_record 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年12月08日
 */
public interface ICaseTransferRecordService extends BaseService {
    /**
     * 修改移交记录
     *
     * @param caseTransferRecordDto 案件移交修改参数
     * @return com.icinfo.framework.common.web.Result<java.lang.String>
     * @author liuyongfei
     * @date 2022/12/08
     */
    Result<String> updateCaseTransferRecord(CaseTransferRecordDto caseTransferRecordDto);

    /**
     * 新增案件移交记录
     *
     * @param caseTransferRecordDto 案件移交修改参数
     * @return com.icinfo.framework.common.web.Result<java.lang.String>
     * @author liuyongfei
     * @date 2022/12/08
     */
    Result<String> saveCaseTransferRecord(CaseTransferRecordDto caseTransferRecordDto);

    /**
     * 删除案件移交记录
     *
     * @param caseTransferIdTypeDto 案件移交删除参数对象
     * @return com.icinfo.framework.common.web.Result<java.lang.String>
     * @author liuyongfei
     * @date 2022/12/09
     */
    Result<String> deleteCaseTransferRecord(CaseTransferIdTypeDto caseTransferIdTypeDto);

    /**
     * 查询案件移交发起信息
     *
     * @param caseTransferIdTypeDto 案件移交参数对象
     * @return com.icinfo.framework.common.web.Result<java.lang.String>
     * @author liuyongfei
     * @date 2022/12/09
     */
    Result<CaseInitiateInfoVo> getInitiateInfo(CaseTransferIdTypeDto caseTransferIdTypeDto);

    /**
     * 校验案源移交时的关联对象
     *
     * @param caseSourceId 案源id
     * @return com.icinfo.framework.common.web.Result<Boolean>
     * @author liuyongfei
     * @date 2022/12/15
     */
    Result<Boolean> checkSourceTransferParties(String caseSourceId);
}